home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / mips / include / asm / sibyte / sb1250.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.9 KB  |  69 lines

  1. /*
  2.  * Copyright (C) 2000, 2001, 2002, 2003 Broadcom Corporation
  3.  *
  4.  * This program is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU General Public License
  6.  * as published by the Free Software Foundation; either version 2
  7.  * of the License, or (at your option) any later version.
  8.  *
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  17.  */
  18.  
  19. #ifndef _ASM_SIBYTE_SB1250_H
  20. #define _ASM_SIBYTE_SB1250_H
  21.  
  22. /*
  23.  * yymmddpp: year, month, day, patch.
  24.  * should sync with Makefile EXTRAVERSION
  25.  */
  26. #define SIBYTE_RELEASE 0x02111403
  27.  
  28. #define SB1250_NR_IRQS 64
  29.  
  30. #define BCM1480_NR_IRQS                 128
  31. #define BCM1480_NR_IRQS_HALF            64
  32.  
  33. #define SB1250_DUART_MINOR_BASE        64
  34.  
  35. #ifndef __ASSEMBLY__
  36.  
  37. #include <asm/addrspace.h>
  38.  
  39. /* For revision/pass information */
  40. #include <asm/sibyte/sb1250_scd.h>
  41. #include <asm/sibyte/bcm1480_scd.h>
  42. extern unsigned int sb1_pass;
  43. extern unsigned int soc_pass;
  44. extern unsigned int soc_type;
  45. extern unsigned int periph_rev;
  46. extern unsigned int zbbus_mhz;
  47.  
  48. extern void sb1250_time_init(void);
  49. extern void sb1250_mask_irq(int cpu, int irq);
  50. extern void sb1250_unmask_irq(int cpu, int irq);
  51.  
  52. extern void bcm1480_time_init(void);
  53. extern void bcm1480_mask_irq(int cpu, int irq);
  54. extern void bcm1480_unmask_irq(int cpu, int irq);
  55.  
  56. #define AT_spin \
  57.     __asm__ __volatile__ (        \
  58.         ".set noat\n"        \
  59.         "li $at, 0\n"        \
  60.         "1: beqz $at, 1b\n"    \
  61.         ".set at\n"        \
  62.         )
  63.  
  64. #endif
  65.  
  66. #define IOADDR(a) ((void __iomem *)(IO_BASE + (a)))
  67.  
  68. #endif
  69.